#include<iostream>
#include<vector>
#include<set>
using namespace std;
int add(int a, int b) {
return a + b;
}
float add(float a, float b) {
return a + b;
}
int add(vector<int> v) {
int sum = 0;
for (auto i : v)
sum += i;
return sum;
}
int add(set<int> st) {
int sum = 0;
for (auto i : st)
sum += i;
return sum;
}
bool search(int key, set<int> data_structure) {
return data_structure.find(key) != data_structure.end();
}
int main() {
set<int> st;
int n, a;
cout << "Enter the number of elements: ";
cin >> n;
cout << "Enter the elements:\n";
for (int i = 0; i < n; i++) {
cin >> a;
st.insert(a);
}
cout << "Sum of elements in the set: " << add(st) << endl;
int keyToSearch;
cout << "Enter the key to search: ";
cin >> keyToSearch;
if (search(keyToSearch, st))
cout << "Key found!\n";
else
cout << "Key not found!\n";
return 0;
}
I2luY2x1ZGU8aW9zdHJlYW0+CiNpbmNsdWRlPHZlY3Rvcj4KI2luY2x1ZGU8c2V0Pgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IGFkZChpbnQgYSwgaW50IGIpIHsKICAgIHJldHVybiBhICsgYjsKfQoKZmxvYXQgYWRkKGZsb2F0IGEsIGZsb2F0IGIpIHsKICAgIHJldHVybiBhICsgYjsKfQoKaW50IGFkZCh2ZWN0b3I8aW50PiB2KSB7CiAgICBpbnQgc3VtID0gMDsKICAgIGZvciAoYXV0byBpIDogdikKICAgICAgICBzdW0gKz0gaTsKICAgIHJldHVybiBzdW07Cn0KCmludCBhZGQoc2V0PGludD4gc3QpIHsKICAgIGludCBzdW0gPSAwOwogICAgZm9yIChhdXRvIGkgOiBzdCkKICAgICAgICBzdW0gKz0gaTsKICAgIHJldHVybiBzdW07Cn0KCmJvb2wgc2VhcmNoKGludCBrZXksIHNldDxpbnQ+IGRhdGFfc3RydWN0dXJlKSB7CiAgICByZXR1cm4gZGF0YV9zdHJ1Y3R1cmUuZmluZChrZXkpICE9IGRhdGFfc3RydWN0dXJlLmVuZCgpOwp9CgppbnQgbWFpbigpIHsKICAgIHNldDxpbnQ+IHN0OwogICAgaW50IG4sIGE7CiAgICBjb3V0IDw8ICJFbnRlciB0aGUgbnVtYmVyIG9mIGVsZW1lbnRzOiAiOwogICAgY2luID4+IG47CiAgICBjb3V0IDw8ICJFbnRlciB0aGUgZWxlbWVudHM6XG4iOwogICAgZm9yIChpbnQgaSA9IDA7IGkgPCBuOyBpKyspIHsKICAgICAgICBjaW4gPj4gYTsKICAgICAgICBzdC5pbnNlcnQoYSk7CiAgICB9CgogICAgY291dCA8PCAiU3VtIG9mIGVsZW1lbnRzIGluIHRoZSBzZXQ6ICIgPDwgYWRkKHN0KSA8PCBlbmRsOwoKICAgIGludCBrZXlUb1NlYXJjaDsKICAgIGNvdXQgPDwgIkVudGVyIHRoZSBrZXkgdG8gc2VhcmNoOiAiOwogICAgY2luID4+IGtleVRvU2VhcmNoOwogICAgaWYgKHNlYXJjaChrZXlUb1NlYXJjaCwgc3QpKQogICAgICAgIGNvdXQgPDwgIktleSBmb3VuZCFcbiI7CiAgICBlbHNlCiAgICAgICAgY291dCA8PCAiS2V5IG5vdCBmb3VuZCFcbiI7CgogICAgcmV0dXJuIDA7Cn0K